Python 編


導入(基本編)

Pythonで作成したプログラムの実行

(1) ソースファイルを作成

 メモ帳などテキスト入力エディタを使って,プログラム(ソースコード)を記入する。
 VSCode(Visual Studio Code)などを利用すると便利。
 ソースファイルは,「~.py」のように,拡張子 py で名前を付けるのが一般的。

(2) プログラムの実行

◇ プログラムを実行するための環境を整える。
 Windows版Pythonをインストールする。
・Python公式サイト( https://www.python.org/)から, Pythonパッケージをダウンロードする。
・ダウンロードしたパッケージをインストールする。
◇ プログラムを実行する。
・ターミナル(コマンドプロンプト)を開き, 実行したいプログラムファイルを, 「>python (ファイル名)」と入力して Enter を押すと実行できる。

「print("プログラムの実行")」と記述したファイルを,sample.py と名前を付けて保存する。
ターミナルを開いて,「>」の後に,「>python sample.py」と入力して,「Enter」キーを押す。
すると,画面に「プログラムの実行」と表示される。

(3) コメントアウト

◇ 一行
 #(シャープ)を使って記述
 「#」以降に書く文章は,行の終わりまで無視される。

# これはコメントです

print(2+5)  # 2+5 の計算結果を表示する

――― 実行結果 ―――
7

◇ 複数行
 '''(シングルクォーテーション3つ)あるいは """(ダブルクォーテーション3つ)で囲まれた部分がコメントアウト

'''
この行はコメントです
この行はコメントです
'''

算術演算子


演算子説明表示結果
+たし算(加算)print(7+4)11
-引き算(減算)print(8-6)2
*かけ算(乗算)print(6*5)30
/割り算(除算)print(9/4)2.25
//割り算の商print(10//3)3
%割り算の余りprint(14%5)4
**べき乗(累乗)print(4**3)64

データ

(1) 変数

・文字列と数値
 数値は,そのまま記述
 文字列は,'(シングルクォーテーション)や "(ダブルクォーテーション)で囲んで記述

・変数の代入
 (変数名)= 値

・変数名の付け方
 使用できる文字は「半角英数字」と「_(アンダーバー)」のみ。
 最初1文字目に「数字」は利用できない。
 英字の大文字,小文字は区別される。
 予約語(if や for,import など)は使えない。


age = 18
user_name = '山田'

・複合代入演算子
演算子説明一般的表現
+=加算代入a += ba = a+b
-=減算代入a -= ba = a-b
*=乗算代入a *= ba = a*b
/=除算代入a /= ba = a/b
//=整数除算代入a //= ba = a//b
%=剰余代入a %= ba = a%b
**=べき乗代入a **= ba = a**b

(2) データ型とその変換

・データ型
データ型説明記述例
int整数num = 6
str文字列sting = '文字列'
fioat浮動小数点pi = 3.14
boolブールbool_check = true
listリストquestion = ['名前', '趣味', '好きな色']
matrix = [[1,2,3],[4,5,6,],[7,8,9]]

・データ型の変換方法(文字列 ←→ 数値)
変換関数記述例表示結果
文字列 → 整数ints='21'
n=int(s)
print(n)
# 21
文字列 → 浮動小数点floatp='3.14'
a=float(p)
print(a)
# 3.14
数値 → 文字列strs=str(15)
t=str(2.718)
print(s,t)
# 15 2.718

比較演算子


演算子条件使用例説明
==等しいa == ba と b は等しい
!=等しくないa != ba と b は等しくない
>大なりa > ba は b より大きい
<小なりa < ba は b より小さい
>=大なりイコールa >= ba は b 以上
<=小なりイコールa <= ba は b 以下
in含まれるa in b変数 a は リスト b に含まれる
not in含まれないa not in b変数 a は リスト b に含まれない

条件分岐と繰り返し

(1) if 文

・ if (条件式):
   (条件式が真のときに実行する命令)

・ if (条件式):
   (条件式が真のときに実行する命令)
  else
   (条件式が偽のときに実行する命令)

・ if (条件式1):
   (条件式1が真のときに実行する命令)
  elif (条件式2):
   (条件式2が真のときに実行する命令)
  else
   (すべての条件式が偽のときに実行する命令)


/* -------------------------- */

(2) for文

・ for 変数 in リスト:
    繰り返し処理(for ブロック)


for j in [2,3,5,7]:
  print(str(j)+'は素数')

――― 実行結果 ―――
2は素数
3は素数
5は素数
7は素数

for i in range(3):
  print(str(i**2)+'は平方数')

――― 実行結果 ―――
0は平方数
1は平方数
4は平方数

◇ range 関数
 range(n)  ・・・ 0 以上 n 未満の整数列のリスト
 range(m,n) ・・・ m 以上 n 未満の整数列のリスト
 を表す。
◇ ブロック
 ブロックの範囲は,インデント(字下げ)で指定
 半角スペースの個数が揃っていないとエラーが発生

(3) while文

・ while 条件式:
    条件を満たすときの処理(while ブロック)

※ 無限ループに注意


rem = 22
remains = []  # 余りのリスト
while rem > 0 :
 remain = rem % 2  # 2で割った余り
 remains.append(str(remain))  # 余りを追加
 rem //= 2  # 2で割った商を再定義

remains.reverse()  # 逆順に並べる
binary = "".join(remains)  # リストの文字列を結合する
print(binary)

――― 実行結果 ―――
10110

関数

(1) 関数の定義

・ def 関数名():
    処理


def hello():
 print('こんにちは,石川です。')

・ def 関数名(引数):
    処理


def user(name,age):
 print(name + 'は' + age +'歳です。' )

(2) 関数の呼び出し

・ 関数名():


def hello():
 print('こんにちは,石川です。')
hello()

――― 実行結果 ―――
こんにちは,石川です。

def user(name,age):
 print(name + 'は' + age +'歳です。' )
user('石川太郎','18')

――― 実行結果 ―――
石川太郎は18歳です。

(3) 関数の戻り値

・ 関数名(引数1,引数2,...):
   処理
   return 戻り値


def multi(a,b):
 ans = a * b 
 return ans
x = multi(3,5)
print(x)

――― 実行結果 ―――
15

(4) 組み込み関数


分類関数名説明
計算関連abs()引数(数値)の絶対値を返す
len()オブジェクトの長さまたは個数を返す
max()引数の最大値を返す
min()引数の最小値を返す
round()引数を(指定の位で)四捨五入した値を返す
sum()引数の合計を返す
データ型関連bool()引数の真偽値(True または False)を返す
float()引数の浮動小数点数を返す
int()引数の整数を返す
list()引数で生成するリストを返す
range()引数で指定した範囲の整数を返す
set()引数から集合を作成する
str()引数の文字列を返す
type()引数のデータ型を返す
入出力関連input()(引数を表示して)入力データ(文字列)を返す
open()引数で指定したファイルを開く
print()引数を出力(表示)する


num = 24
answer = []  # 約数のリスト
for i in range(1, num+1):
 if num % i ==0:  # num を i で割った余りが 0 に等しいとき
  answer.append(i)  # 約数を追加
print(answer)

――― 実行結果 ―――
[1, 2, 3, 4, 6, 8, 12, 24]


n = input("約数を求める整数は? >> ")  # 入力を求める
num=int(n)
with open("divisor.txt","a") as f:  # ファイル divisor.txt を上書きモードで開く
 for i in range(1, num+1):
  if num % i ==0:
   f.write(str(i)+"\n")  # 文字 i と 改行コード を書き込む

――― 実行結果 ―――
約数を求める整数は? >> 18

――― 出力結果 ―――
1
2
3
6
9
18